﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharpShare.Storage.Security {
    public enum StorageAccessRight {
        // For files and containers
        Delete,             // Permission to delete storage item.
        
        GetAttributes,      // Permission to read storage item attributes.
        ModifyAttributes,   // Permission to set storage item attributes.
        
        GetMetadata,        // Permission to list and get metadata entries.
        ModifyMetadata,     // Permission to add or delete metadata entries.

        // For files
        ReadData,           // Permission to open file for reading.
        WriteData,          // Permission to open file for writing. 
        ExecuteData,        // Permission to open file for reading with execution.

        // For containers
        AddFiles,           // Permission to add files to a container.
        AddContainers,      // Permission to add containers to a container.
        ListContents,       // Permission to list contents of a container.

        DeleteChild,        // Permission to delete children in a container.
    }
}
